package com.xxg.renrenuser.service;


import com.xxg.renrencommon.domain.result.BaseResult;
import com.xxg.renrenuser.dao.bean.ExpressAddressInfo;
import com.xxg.renrenuser.domain.query.AddAddressQuery;
import com.xxg.renrenuser.domain.query.DeleteAddressQuery;
import com.xxg.renrenuser.domain.query.EditAddressQuery;

import java.util.List;

/**
 * 地址管理接口
 *
 * @author xxg
 * @date 2020/10/21
 */
public interface AddressService {
    /**
     * 添加地址
     *
     * @param addAddressQuery 地址信息
     * @return 结果
     */
    BaseResult<Void> addAddress(AddAddressQuery addAddressQuery);

    /**
     * 编辑地址
     *
     * @param userId           会员ID
     * @param editAddressQuery 地址信息
     * @return 结果
     */
    BaseResult<Void> editAddress(String userId, EditAddressQuery editAddressQuery);

    /**
     * 获取用户的地址列表
     *
     * @param userId 会员ID
     * @return 地址列表
     */
    BaseResult<List<ExpressAddressInfo>> getAddressList(String userId);

    /**
     * 删除地址
     *
     * @param deleteAddressQuery 地址ID参数
     * @return 结果
     */
    BaseResult<Void> deleteAddress(DeleteAddressQuery deleteAddressQuery);
}
